#include <iostream>
#include <cmath>
#include <list>
#include <fstream>
#include <string>
#include <boost/numeric/mtl/mtl.hpp>
#include <cppunit/extensions/HelperMacros.h>
#include "../src/fmm.h"
#include "../src/isoline.h"
#include "../src/backtracking.h"
#include "Test_homework.h"

CPPUNIT_TEST_SUITE_REGISTRATION(Test_homework);

void Test_homework::setUp()
{
}
void Test_homework::tearDown()
{
}


void Test_homework::testcase_01()
{
/*
	generate_iso_lines("../../data/plane5.obj", "./hw_iso_plane1.obj", 0, 100);	
	generate_iso_lines("../../data/plane5.obj", "./hw_iso_plane2.obj", 50, 100);	
	generate_iso_lines("../../data/bar2.obj", "./hw_bar_1.obj", 50, 100);		
	generate_iso_lines("../../data/bar2.obj", "./hw_bar_2.obj", 250, 100);		
	generate_iso_lines("../../data/sphere.obj", "./hw_sphere_1.obj", 50, 100);		
	generate_iso_lines("../../data/sphere.obj", "./hw_sphere_2.obj", 250, 100);		
	generate_iso_lines("../../data/Armadillo_20qem.obj", "./hw_armadillo_1.obj", 50, 100);		
	generate_iso_lines("../../data/Armadillo_20qem.obj", "./hw_armadillo_2.obj", 250, 100);		
*/

        generate_iso_lines("../../data/plane5.obj", "./hw_iso_plane.obj", 0, 100);
        generate_iso_lines("../../data/bar3.obj", "./hw_iso_bar.obj", 0, 100);
        generate_iso_lines("../../data/sphere.obj", "./hw_iso_sphere.obj", 50, 100);
        generate_iso_lines("../../data/bigguy2.obj", "./hw_iso_bigguy2.obj", 50, 100);



}

void Test_homework::testcase_geodesics_01()
{

	generate_geodesics ("../../data/plane5.obj", "./hw_ge_plane.obj", 1200, 0) ;
	generate_geodesics ("../../data/sphere.obj", "./hw_ge_sphere.obj", 471, 0) ;
	generate_geodesics ("../../data/bar3.obj", "./hw_ge_bar3.obj", 3857, 0) ;
	generate_geodesics ("../../data/bigguy2.obj", "./hw_ge_bigguy2.obj", 1500, 0) ;
	
}
